//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package org.jooq.util.oracle;

import org.jooq.DataType;
import org.jooq.Record;
import org.jooq.Result;
import org.jooq.SQLDialect;
import org.jooq.impl.DefaultDataType;
import org.jooq.impl.SQLDataType;
import org.jooq.types.DayToSecond;
import org.jooq.types.UByte;
import org.jooq.types.UInteger;
import org.jooq.types.ULong;
import org.jooq.types.UShort;
import org.jooq.types.YearToMonth;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.util.UUID;

/** @deprecated */
@Deprecated
public class OracleDataType {
    public static final DataType<BigDecimal> NUMBER;
    public static final DataType<BigDecimal> NUMERIC;
    public static final DataType<BigDecimal> DECIMAL;
    public static final DataType<BigDecimal> DEC;
    public static final DataType<String> VARCHAR2;
    public static final DataType<String> VARCHAR;
    public static final DataType<String> CHAR;
    public static final DataType<String> CLOB;
    public static final DataType<String> NVARCHAR2;
    public static final DataType<String> NVARCHAR;
    public static final DataType<String> NCHAR;
    public static final DataType<String> NCLOB;
    public static final DataType<Date> DATE;
    public static final DataType<Timestamp> TIMESTAMP;
    public static final DataType<OffsetDateTime> TIMESTAMPWITHTIMEZONE;
    public static final DataType<byte[]> BLOB;
    public static final DataType<YearToMonth> INTERVALYEARTOMONTH;
    public static final DataType<DayToSecond> INTERVALDAYTOSECOND;
    protected static final DataType<byte[]> __BINARY;
    protected static final DataType<Long> __BIGINT;
    protected static final DataType<Boolean> __BIT;
    protected static final DataType<Boolean> __BOOLEAN;
    protected static final DataType<Double> __DOUBLE;
    protected static final DataType<Double> __FLOAT;
    protected static final DataType<Integer> __INTEGER;
    protected static final DataType<byte[]> __LONGVARBINARY;
    protected static final DataType<String> __LONGVARCHAR;
    protected static final DataType<String> __LONGNVARCHAR;
    protected static final DataType<Float> __REAL;
    protected static final DataType<Short> __SMALLINT;
    protected static final DataType<Time> __TIME;
    protected static final DataType<OffsetTime> __TIMEWITHTIMEZONE;
    protected static final DataType<OffsetDateTime> __TIMESTAMPWITHTZ;
    protected static final DataType<Byte> __TINYINT;
    protected static final DataType<byte[]> __VARBINARY;
    protected static final DataType<UByte> __TINYINTUNSIGNED;
    protected static final DataType<UShort> __SMALLINTUNSIGNED;
    protected static final DataType<UInteger> __INTEGERUNSIGNED;
    protected static final DataType<ULong> __BIGINTUNSIGNED;
    protected static final DataType<BigInteger> __BIGINTEGER;
    protected static final DataType<UUID> __UUID;
    public static final DataType<Result<Record>> REF_CURSOR;
    public static final DataType<String> LONG;
    public static final DataType<byte[]> RAW;
    public static final DataType<byte[]> LONGRAW;
    public static final DataType<byte[]> BFILE;
    public static final DataType<Integer> BINARY_INTEGER;
    public static final DataType<Integer> PLS_INTEGER;
    public static final DataType<Integer> NATURAL;
    public static final DataType<Integer> NATURALN;
    public static final DataType<Integer> POSITIVE;
    public static final DataType<Integer> POSITIVEN;
    public static final DataType<Integer> SIGNTYPE;
    public static final DataType<Double> REAL;
    public static final DataType<Double> DOUBLE_PRECISION;
    public static final DataType<Double> BINARY_DOUBLE;
    public static final DataType<Double> FLOAT;
    public static final DataType<Float> BINARY_FLOAT;
    public static final DataType<BigInteger> INTEGER;
    public static final DataType<BigInteger> INT;
    public static final DataType<BigInteger> SMALLINT;
    public static final DataType<Boolean> BOOLEAN;
    public static final DataType<Boolean> PLS_BOOLEAN;

    public OracleDataType() {
    }

    static {
        NUMBER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NUMERIC, "number");
        NUMERIC = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NUMERIC, "numeric");
        DECIMAL = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL, "decimal");
        DEC = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL, "dec");
        VARCHAR2 = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.VARCHAR, "varchar2", "varchar2(4000)");
        VARCHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.VARCHAR, "varchar", "varchar2(4000)");
        CHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.CHAR, "char", "varchar2(4000)");
        CLOB = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.CLOB, "clob");
        NVARCHAR2 = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NVARCHAR, "nvarchar2", "varchar2(4000)");
        NVARCHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NVARCHAR, "nvarchar", "varchar2(4000)");
        NCHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NCHAR, "nchar", "varchar2(4000)");
        NCLOB = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.NCLOB, "nclob");
        DATE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DATE, "date");
        TIMESTAMP = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TIMESTAMP, "timestamp");
        TIMESTAMPWITHTIMEZONE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TIMESTAMPWITHTIMEZONE, "timestamp with time zone");
        BLOB = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BLOB, "blob");
        INTERVALYEARTOMONTH = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTERVALYEARTOMONTH, "interval year to month");
        INTERVALDAYTOSECOND = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTERVALDAYTOSECOND, "interval day to second");
        __BINARY = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BINARY, "blob");
        __BIGINT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BIGINT, "number", "number(19)");
        __BIT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BIT, "number", "number(1)");
        __BOOLEAN = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BOOLEAN, "number", "number(1)");
        __DOUBLE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DOUBLE, "float");
        __FLOAT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.FLOAT, "float");
        __INTEGER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "number", "number(10)");
        __LONGVARBINARY = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.LONGVARBINARY, "blob");
        __LONGVARCHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.LONGVARCHAR, "varchar2", "varchar2(4000)");
        __LONGNVARCHAR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.LONGNVARCHAR, "varchar2", "varchar2(4000)");
        __REAL = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.REAL, "real");
        __SMALLINT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.SMALLINT, "number", "number(5)");
        __TIME = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TIME, "timestamp");
        __TIMEWITHTIMEZONE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TIMEWITHTIMEZONE, "timestamp with time zone");
        __TIMESTAMPWITHTZ = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TIMESTAMPWITHTIMEZONE, "timestamp with tz");
        __TINYINT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TINYINT, "number", "number(3)");
        __VARBINARY = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.VARBINARY, "blob");
        __TINYINTUNSIGNED = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.TINYINTUNSIGNED, "number", "number(3)");
        __SMALLINTUNSIGNED = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.SMALLINTUNSIGNED, "number", "number(5)");
        __INTEGERUNSIGNED = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGERUNSIGNED, "number", "number(10)");
        __BIGINTUNSIGNED = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BIGINTUNSIGNED, "number", "number(20)");
        __BIGINTEGER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL_INTEGER, "number");
        __UUID = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.UUID, "varchar2", "varchar2(36)");
        REF_CURSOR = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.RESULT, "ref cursor");
        LONG = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.CLOB, "long");
        RAW = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BLOB, "raw");
        LONGRAW = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BLOB, "longraw");
        BFILE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BLOB, "bfile");
        BINARY_INTEGER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "binary_integer");
        PLS_INTEGER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "pls_integer");
        NATURAL = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "natural");
        NATURALN = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "naturaln");
        POSITIVE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "positive");
        POSITIVEN = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "positiven");
        SIGNTYPE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.INTEGER, "signtype");
        REAL = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DOUBLE, "real");
        DOUBLE_PRECISION = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DOUBLE, "double_precision");
        BINARY_DOUBLE = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DOUBLE, "binary_double");
        FLOAT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.FLOAT, "float");
        BINARY_FLOAT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.REAL, "binary_float");
        INTEGER = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL_INTEGER, "integer");
        INT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL_INTEGER, "int");
        SMALLINT = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.DECIMAL_INTEGER, "smallint");
        BOOLEAN = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BOOLEAN, "boolean");
        PLS_BOOLEAN = new DefaultDataType(SQLDialect.ORACLE, SQLDataType.BOOLEAN, "pl/sql boolean", "boolean");
    }
}
